package com.alameda.media.api;

import com.alameda.media.vo.AdMediaVO;
import com.alameda.video.dto.ApVideoDTO;
import com.alameda.video.vo.ApVideoVO;

import java.util.List;

/**
 * 媒体文件 同步接口层
 *
 * @author Lv
 * @date 2024/07/20
 */
public interface AdMediaProvider {
    /**
     * 查询视频列表
     *
     * @param apVideoDTO 移动端视频信息
     * @return
     */
    List<ApVideoVO> loadVideo(ApVideoDTO apVideoDTO);

    /**
     * 查询视频
     *
     * @param apVideoDTO 移动端视频信息
     * @return
     */
    ApVideoVO findById(ApVideoDTO apVideoDTO);

    /**
     * 读取视频文件信息
     *
     * @param idList 视频文件id集合
     * @return
     */
    List<AdMediaVO> findByVideoIdIn(List<Long> idList);

    /**
     * 查询视频
     *
     * @param apVideoDTO 移动端视频信息
     * @return
     */
    ApVideoVO findByVideoId(ApVideoDTO apVideoDTO);

    /**
     * 查询视频播放页面列表视频
     *
     * @param apVideoDTO 移动端视频信息
     * @return
     */
    List<ApVideoVO> findVideoDetailInfo(ApVideoDTO apVideoDTO);

    /**
     * 物理层面移除已逻辑删除文件
     *
     * @return
     */
    Boolean removeLogicDeletedFile();

    /**
     * 物理层面删除已被替换文件封面
     *
     * @return
     */
    Boolean removeReplacedCover();
}
